'\" te
.\" Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
.\" Copyright (C) 2002, Sun Microsystems, Inc. All Rights Reserved
.\" Copyright 1989 AT&T
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH RPC_CLNT_AUTH 3NSL "Feb 18, 2015"
.SH NAME
rpc_clnt_auth, auth_destroy, authnone_create, authsys_create,
authsys_create_default \- library routines for client side remote procedure
call authentication
.SH SYNOPSIS
.LP
.nf
#include <rpc/rpc.h>
.fi

.LP
.nf
\fBvoid\fR \fBauth_destroy\fR(\fBAUTH *\fR\fIauth\fR);
.fi

.LP
.nf
\fBAUTH *\fR\fBauthnone_create\fR(void);
.fi

.LP
.nf
\fBAUTH *\fR\fBauthsys_create\fR(\fBconst char *\fR\fIhost\fR, \fBconst uid_t\fR \fIuid\fR, \fBconst gid_t\fR \fIgid\fR,
     \fBconst int\fR \fIlen\fR, \fBconst gid_t *\fR\fIaup_gids\fR);
.fi

.LP
.nf
\fBAUTH *\fR\fBauthsys_create_default\fR(void);
.fi

.SH DESCRIPTION
.LP
These routines are part of the \fBRPC\fR library that allows C language
programs to make procedure calls on other machines across the network, with
desired authentication.
.sp
.LP
These routines are normally called after creating the \fBCLIENT\fR handle. The
\fBcl_auth\fR field of the \fBCLIENT\fR structure should be initialized by the
\fBAUTH\fR structure returned by some of the following routines. The client's
authentication information is passed to the server when the \fBRPC\fR call is
made.
.sp
.LP
Only the \fBNULL\fR and the \fBSYS\fR style of authentication is discussed
here. For the \fBDES\fR style authentication, please refer to
\fBsecure_rpc\fR(3NSL).
.sp
.LP
The \fBNULL\fR and \fBSYS\fR style of authentication are safe in multithreaded
applications. For the MT-level of the \fBDES\fR style, see its pages.
.SS "Routines"
.LP
Note: See \fBrpc\fR(3NSL) for the definition of the \fBAUTH\fR data structure.

.sp
.ne 2
.na
\fB\fBauth_destroy()\fR\fR
.ad
.RS 26n
A function macro that destroys the authentication information associated with
\fIauth\fR. Destruction usually involves deallocation of private data
structures. The use of \fIauth\fR is undefined after calling
\fBauth_destroy()\fR.
.RE

.sp
.ne 2
.na
\fB\fBauthnone_create()\fR\fR
.ad
.RS 26n
Create and return an RPC authentication handle that passes nonusable
authentication information with each remote procedure call. This is the default
authentication used by RPC.
.RE

.sp
.ne 2
.na
\fB\fBauthsys_create()\fR\fR
.ad
.RS 26n
Create and return an \fBRPC\fR authentication handle that contains
\fBAUTH_SYS\fR authentication information. The parameter \fIhost\fR is the name
of the machine on which the information was created; \fIuid\fR is the user's
user \fBID;\fR \fIgid\fR is the user's current group \fBID;\fR \fIlen\fR and
\fIaup_gids\fR refer to a counted array of groups to which the user belongs.
.RE

.sp
.ne 2
.na
\fBauthsys_create_default()\fR
.ad
.RS 26n
Call \fBauthsys_create()\fR with the appropriate parameters.
.RE

.SH ATTRIBUTES
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
MT-Level	MT-Safe
.TE

.SH SEE ALSO
.LP
.BR rpc (3NSL),
.BR rpc_clnt_calls (3NSL),
.BR rpc_clnt_create (3NSL),
.BR secure_rpc (3NSL),
.BR attributes (7)
